/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2022/8/26 20:45
 * 创建线程的5中方法：
 *  1.通过继承Thread类，重写run()方法，实现线程的创建
 *  2.通过实现Runnable接口，重写run()方法，实现线程的创建
 *  3.通过继承Thread类，重写run()方法，使用匿名内部类的方式，实现线程的创建
 *  4.通过实现Runnable接口，重写run()方法，使用匿名内部类的方式，实现线程的创建
 *  5.通过lambda表达式来表示要执行的任务
 *
 * 本质：都是借助Thread类，在内核中创建新的PCB，加入到双向链表中
 * 区别；指定线程要执行任务的方式不一样
 *
 * 查看线程的方式：
 *      1.通过JDK工具jconsole（JDK中找bin里执行，连接到执行的类）
 */
public class ThreadDemo1 {
    public static void main(String[] args) {
        Thread t = new MyThread1();
        //start方法就会真的从操作系统中创建一个线程出来（内核中搞个PCB，加入双向链表中）
        //这个新的线程，就会执行run中所描述的代码
        //t.start();
        //不创建线程，直接是main调用这个方法
        t.run();
    }
}
class MyThread1 extends Thread{
    @Override
    public void run() {
        while(true){
            System.out.println("hello Thread ");

        }
    }
}